Video Thumbnail
1:59
1:25
clock icon Created with Sketch. 1 minute

Welcome!

Welcome to the 30-Day Design Challenge!

In this course, you'll get plenty of practice with a wide variety of software design problems. There's a new problem for you every day, but you can go through the challenges at your own pace.

Each challenge is based on a code example that you can download at the top. To complete a challenge, read through the challenge text and work on the code to solve the problem. Some challenges might be quite short, others are going to take you a bit more time. You'll also see some challenges work on the same codebase. I've done this on purpose so that on the one hand you will recognize the code sooner so it takes you less time to get into the material, and reusing code also made it easier for me to create more complex challenges.

For some of the challenges, I've added a few links to resources you can look into if you'd like to learn more about a particular concept I cover. Feel free to post additional links that you think might be helpful to others in the comment section.

Also, don't hesitate to ask questions and give feedback about the challenges by posting a comment. I read everything, but I won't always be able to respond as I get a lot of comments and questions. I'll try to answer as many questions as possible, and your feedback is extremely helpful to me to improve the challenges for everyone - so thank you in advance!

I'm really excited for you to start with the challenges. After you've watched the introduction video at the top, click on the left on "Challenge: KISS" under "Day 1" to get started with the first challenge!


Shashidhar Muniswamy

Hi,

I just registered for this course. What are the prerequisites for this course, please?

Will I need a refresher in Data structures and Algorithms to be able to solve the challenges?

REPLY
Andreas [ArjanCodes Team]

Hi Shashidar! Welcome :) The prerequisite for this course is familiarity with Python and its libraries. Lastly, some understanding of the "basic" data structures like maps, lists, sets, etc. So, you do not need to refresh your knowledge of more complex data structures and algorithms.

REPLY
Igor Z

hi,
The challenges use poetry with python 3.11. How should I set up the project if my python is older?
I am on ubuntu. Thanks!

REPLY
Andreas [ArjanCodes Team]

Which Python version are you using? Poetry no longer supports managing environments for Python 2.7. If it is higher then it should be fine.

You can create a virtual environment using pyvenv, and later install the wanted version of Python into the environment. Then point poetry to the specific version. Please take a look at the following link. I hope it helps :)

https://python-poetry.org/docs/managing-environments/#switching-between-environments

REPLY